package cn.swiftpass.transmit.dto.qn.core.request;

import cn.swiftpass.transmit.core.ReqDto;
import lombok.Data;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import java.io.Serializable;
import java.util.List;

/**
秦农
* CCBR106
* 信用卡提现消费(3003010004)
* 信用卡消费(01)
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class CreditCardPayReq extends ReqDto<CreditCardPayReq> {
	/**
报文ID
Y

0200
*/
	@JSONField(name="MsgId")
	private String msgId;
	/**
银行卡号
Y


*/
	@JSONField(name="BnkCrdNo")
	private String bnkCrdNo;
	/**
交易码
Y

0
*/
	@JSONField(name="TxnCd")
	private String txnCd;
	/**
交易金额
Y


*/
	@JSONField(name="TxnAmt")
	private String txnAmt;
	/**
商户类型
Y


*/
	@JSONField(name="MrchType")
	private String mrchType;
	/**
卡序列号
N


*/
	@JSONField(name="CrdSeqNo")
	private String crdSeqNo;
	/**
服务点输入方式码
Y


*/
	@JSONField(name="PosInputMdCd")
	private String posInputMdCd;
	/**
服务点条件码
Y

00
*/
	@JSONField(name="PosCdtnCd")
	private String posCdtnCd;
	/**
服务点PIN获取码
N

06
*/
	@JSONField(name="PosPINGetCd")
	private String posPINGetCd;
	/**
受理机构标识码
Y


*/
	@JSONField(name="AcptInstIndCd")
	private String acptInstIndCd;
	/**
发送机构标识码
Y


*/
	@JSONField(name="SndInstIndCd")
	private String sndInstIndCd;
	/**
第二磁道数据
N


*/
	@JSONField(name="ScdTrackData")
	private String scdTrackData;
	/**
第三磁道数据
N


*/
	@JSONField(name="ThirdTrackData")
	private String thirdTrackData;
	/**
检索参考号
Y


*/
	@JSONField(name="RtrvlRefrNo")
	private String rtrvlRefrNo;
	/**
受卡方终端标识码
Y


*/
	@JSONField(name="LocalTxnTmlIndCd")
	private String localTxnTmlIndCd;
	/**
受卡方标识码
Y


*/
	@JSONField(name="LocalTxnIndCd")
	private String localTxnIndCd;
	/**
受卡方名称地址
Y


*/
	@JSONField(name="LocalTxnNmAdr")
	private String localTxnNmAdr;
	/**
交易币种代码
Y

156-人民币
*/
	@JSONField(name="TxnCcyCd")
	private String txnCcyCd;
	/**
交易密码
N


*/
	@JSONField(name="TxnPwd")
	private String txnPwd;
	/**
安全控制信息
N

2400000000000000
*/
	@JSONField(name="SaftCntrlInf")
	private String saftCntrlInf;
	/**
IC卡数据域
N

55域
*/
	@JSONField(name="ICCrdDataFd")
	private String iCCrdDataFd;
	/**
自定义域
N

60域
*/
	@JSONField(name="CstmzFd")
	private String cstmzFd;
	/**
持卡人身份信息
N

61域
*/
	@JSONField(name="CdhldrIdtyInf")
	private String cdhldrIdtyInf;
	/**
业务行业应用信息
N

104域拼IP和MAC
*/
	@JSONField(name="BsnIdyAplctnInf")
	private String bsnIdyAplctnInf;
	/**
来账交易辅助信息
N

123域拼来账交易辅助信息
*/
	@JSONField(name="ComeAcctTxnAidInf")
	private String comeAcctTxnAidInf;
@Override
public String requestConvert(CreditCardPayReq request) {
       return JSON.toJSONString(request, SerializerFeature.WriteMapNullValue);
}
}
